Various methods of searching for data stored in various types of data stores have proliferated recently, particularly methods of Web-based searching that appeared with the advancement of the Internet. Through data search services provided over the Web, for example, users can search for, and access, various types of information of interest to those users. For example, users interested in filmography may search for, and obtain from an Internet-accessible data source, information related to various movies, actors, history of movie making, plot summary, and the like using simple keyword-based search queries.
Data available for search may be stored in different data storage locations, or data stores. Types of data may be categorized in a number of different ways. For example, searchable data may be roughly divided into two categories: “static” and “dynamic.” “Static” data may be data that is not volatile, e.g., data that does not change and/or does not have to be updated often. This can include, for example, data updated only once a week, once a month, or less. “Dynamic” data, on the contrary, has to be updated much more often, such as once every few minutes, every few seconds, or even more often. Typically, updating data in a data source requires re-indexing of all data before it can be searched. Thus, if dynamic and static data are combined in one searchable data source, all the data in the data source might have to be re-indexed every time new data is added to the data source. If the data store contains a large volume of data and is frequently updated with new data, re-indexing all the data in the data source makes combining dynamic and static data prohibitively expensive. Furthermore, such a data source that combines static and dynamic data would become substantially more complex and prone to errors. Yet further, if a volume of dynamic data exceeds a certain threshold, it may not be feasible to store that volume in a single data store.